Organizations typically receive enormous amounts of data from external sources and/or create large amounts of data internally on a daily basis. The data is often stored in a data warehouse, which is an electronic database typically residing in servers. In essence, such a data warehouse constitutes the institutional “memory” of an organization that may be accessed as desired to gain insight into the operation, culture, and performance of the organization.
There exists a number of software tools or suites, typically implemented using a database management system (DBMS), that supports queries into the data warehouses to provide business intelligence to the organizations. As referred herein, business intelligence includes applications and technologies that work together to collect, provide access to, and analyze data and information about operations of an organization. Thus, an organization often implements a business intelligence software application in its operations to obtain a more comprehensive knowledge of the factors affecting their business, such as metrics (that is, data measurements) on sales, production, human resources, and other internal operations to enable the organization to make better business decisions. Examples of commercially-available business intelligence software applications include but are not limited to: BusinessObjects™ of Business Objects, S.A., Paris, France; MicroStrategy 8™ of MicroStrategy Inc., McLean, Va.; and Hyperion Intelligence™ of Hyperion Solutions Corp., Santa Clara, Calif.
Business intelligence software or applications (hereinafter, “BI applications”) typically include multiple components for providing report creation, data viewing, and data distribution in one or more databases of interest. For example, the BI applications allow so-called “reports” in which various components of the stored data may be organized and presented in a desired format to be developed, for instance, in a single document. The BI applications also allow so-called “universes” that describe the structure, content, organization, internal relationships, etc., of various databases to be developed. The BI applications may generate the “universes” as metadata layers which interface with databases to map everyday business terms to the data stored in the databases. In addition, the “universes” simplify the processes of creating reports, viewing data and distributing data by providing an easy way to see and understand the data contained in the databases. The reports and universes are specific examples of data objects used to interact with an organization's data warehouse.
The data objects rely upon the architectures of the underlying applications used to create and execute them. If these applications are changed substantially, an organization's investment made in its data objects may be lost, or substantially increased, to the extent that the organization must either abandon or re-author the desired data objects. This may be a substantial loss because organizations often develop hundreds, if not thousands, of data objects used to interact with the data warehouse. However, rather than re-authoring the data objects entirely, it is possible to transform pre-existing data objects to be compatible with the revised, underlying applications. In addition, it is possible to determine the complexities of the data objects through use of conventional techniques.
It would, however, be beneficial to have improved techniques for determining the complexities of the data objects.